from apscheduler.schedulers.background import BlockingScheduler,BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger
from apscheduler.executors.pool import ThreadPoolExecutor
from opcUaSrc.plc.tools import *
from torqueSrc.torqueOnl.torqueOnl import torqueOnl
from torqueSrc.torqueHis.torqueHis import torqueHis
from common.config import torqueConfig as Config
from torqueSrc.tools.torqueExplore import torqueExplore


'''#############################################################################################
MAIN
1. 主动探索
2. 历史优化
3. 在线优化（线程池）
'''
if __name__ == "__main__":
    # 主动探索
    torqueExplore()

    # 进行历史优化
    # 这块应该判断一下，用不用每次开机都 历史优化 ？？？？？？？？？？？？？？？？？？？？
    torqueHis()

    # 进行在线优化
    executors = {
        'default': ThreadPoolExecutor(10)
    }
    main = BackgroundScheduler()
    main.add_job(torqueOnl, IntervalTrigger(seconds=Config.torqueOnlSpan), id='torqueOnl')
    main.start()

    # 防止主程序退出
    while True:
        time.sleep(1000)